﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace ServicioWPF
{
    /// <summary>
    /// Lógica de interacción para VentanaProfesor.xaml
    /// </summary>
    public partial class VentanaProfesor : Window
    {
        private static int EstatusToolBar = 0;
        private static int CveEntAsignatura;

        private enum ToolBarEstatus { Inicial, Nuevo, Editar, Cancelar, Eliminar, Guardar };


        public VentanaProfesor()
        {
            InitializeComponent();
            cargaDatos();
            EstatusTool(false, ToolBarEstatus.Inicial);
        }

        private void btnCerrar_Click(object sender, RoutedEventArgs e)
        {
            this.Close();
        }

        private void Window_MouseDown(object sender, MouseButtonEventArgs e)
        {
            // Permite que se pueda mover la ventana por el escritorio, esto es necesario ya que estas ventanas no tiene los bordes predeterminados del sistema operativo.
            if (e.LeftButton == System.Windows.Input.MouseButtonState.Pressed)
                this.DragMove();
        }

        private void cargaDatos()
        {
            //dgvAlumno.DataContext = CatAsignaturas.buscaTodasAsignaturas();
        }

        private void EstatusTool(bool Modo, ToolBarEstatus estatus)
        {
            //txtNombre.IsEnabled = Modo;
            //txtDescripcion.IsEnabled = Modo;
            //cmBxSemestre.IsEnabled = Modo;
            tbtnguardar.IsEnabled = Modo;
            if (estatus == ToolBarEstatus.Inicial)
            {
                //cmBxSemestre.Visibility = Visibility.Hidden;
                //txtSemestre.Visibility = Visibility.Visible;
                tbtnEditar.IsEnabled = false;
                //dgvAsignaturas.IsEnabled = true;
                //if (dgvAsignaturas.SelectedIndex == -1)
                //    txtBlkEliminarCancelar.Text = "Cancelar";
                //else
                //    txtBlkEliminarCancelar.Text = "Eliminar";
            }
            if (estatus == ToolBarEstatus.Nuevo)
            {
                //cmBxSemestre.Visibility = Visibility.Visible;
                //txtSemestre.Visibility = Visibility.Hidden;
                txtBlkEliminarCancelar.Text = "Cancelar";
                tbtnEditar.IsEnabled = false;
                EstatusToolBar = 2;
            }
            if (estatus == ToolBarEstatus.Editar)
            {
                //cmBxSemestre.Visibility = Visibility.Visible;
                //txtSemestre.Visibility = Visibility.Hidden;
                txtBlkEliminarCancelar.Text = "Cancelar";
                //dgvAsignaturas.IsEnabled = false;
                EstatusToolBar = 3;
            }

        }

        private void tbtnNuevo_Click(object sender, RoutedEventArgs e)
        {
            EstatusTool(true, ToolBarEstatus.Nuevo);
            //dgvAsignaturas.IsEnabled = false;
            limpiaControles();
        }

        private void tbtnEditar_Click(object sender, RoutedEventArgs e)
        {
            //if (dgvAsignaturas.SelectedIndex != -1)
            //    EstatusTool(true, ToolBarEstatus.Editar);
            //else
            //    MessageBox.Show("Selecciona una Asignatura");
        }

        private void tbtnguardar_Click(object sender, RoutedEventArgs e)
        {
            //nuevo
            if (EstatusToolBar == 2)
            {
                //    if ((txtNombre.Text != string.Empty) && (cmBxSemestre.SelectedIndex > 0))
                //    {
                //        CatAsignaturas miAsignatura = new CatAsignaturas();
                //        miAsignatura.Nombre = txtNombre.Text;
                //        miAsignatura.Descripcion = txtDescripcion.Text;
                //        miAsignatura.Semestre = cmBxSemestre.SelectedIndex;
                //        miAsignatura.insertaAsignatura();
                //    }
                //    else
                //        MessageBox.Show("Debes proporcionar al menos el nombre y semestre de la Asignatura");
                //    cargaDatos();
            }
            //editar
            else if (EstatusToolBar == 3)
            {
                //CatAsignaturas miAsignatura = new CatAsignaturas();
                //miAsignatura.ClaveEntidad = CveEntAsignatura;
                //miAsignatura.Nombre = txtNombre.Text;
                //miAsignatura.Descripcion = txtDescripcion.Text;
                //miAsignatura.Semestre = cmBxSemestre.SelectedIndex;
                //miAsignatura.ActualizaAsignatura();

                //cargaDatos();
            }
            limpiaControles();
            EstatusTool(false, ToolBarEstatus.Inicial);
        }

        private void tbtnEliminarCancelar_Click(object sender, RoutedEventArgs e)
        {
            if (txtBlkEliminarCancelar.Text == "Cancelar")
            {
                EstatusTool(false, ToolBarEstatus.Inicial);
                limpiaControles();
                //if (dgvAsignaturas.SelectedIndex != -1)
                //    txtBlkEliminarCancelar.Text = "Eliminar";
            }
            else if (txtBlkEliminarCancelar.Text == "Eliminar")
            {
                //CatAsignaturas miAsignatura = new CatAsignaturas();
                //miAsignatura.ClaveEntidad = CveEntAsignatura;
                //miAsignatura.EliminaAsignatura();
                cargaDatos();
                limpiaControles();
                EstatusTool(false, ToolBarEstatus.Inicial);
            }
        }

        private void limpiaControles()
        {
            //txtNombre.Text = string.Empty;
            //txtDescripcion.Text = string.Empty;
            //txtSemestre.Text = string.Empty;
            //cmBxSemestre.SelectedIndex = -1;
        }


    }
}
